Remove page_is_removable arch hook. Now the ia64 p2m semantic becomes
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Wed, 28 Mar 2007 12:53:27 +0000 (13:53 +0100)
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Wed, 28 Mar 2007 12:53:27 +0000 (13:53 +0100)
same as the x86 p2m table so that the hook is unnecessary any more.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
xen/common/memory.c
xen/include/asm-ia64/mm.h
xen/include/asm-powerpc/mm.h
xen/include/asm-x86/mm.h

index edd2ebe8d511ec8541c13bdbe687cf9914dca6da..26a2fde5eb98387b6697fb88621869d95a96b110 100644 (file)
@@ -173,11 +173,11 @@ int guest_remove_page(struct domain *d, unsigned long gmfn)
     if ( test_and_clear_bit(_PGC_allocated, &page->count_info) )
         put_page(page);
 
-    if ( unlikely(!page_is_removable(page)) )
+    if ( unlikely((page->count_info & PGC_count_mask) != 1) )
     {
         shadow_drop_references(d, page);
         /* We'll make this a guest-visible error in future, so take heed! */
-        if ( !page_is_removable(page) )
+        if ( (page->count_info & PGC_count_mask) != 1 )
             gdprintk(XENLOG_INFO, "Dom%d freeing in-use page %lx "
                      "(pseudophys %lx): count=%lx type=%lx\n",
                      d->domain_id, mfn, get_gpfn_from_mfn(mfn),
index 47f0aa49e37ac3d5ca90773960c77253832f7a0e..9b4ff9c34d2b803ac301ccc3976e06043d4538e9 100644 (file)
@@ -210,11 +210,6 @@ static inline int get_page_and_type(struct page_info *page,
     return rc;
 }
 
-static inline int page_is_removable(struct page_info *page)
-{
-    return ((page->count_info & PGC_count_mask) == 1);
-}
-
 #define        set_machinetophys(_mfn, _pfn) do { } while(0);
 
 #ifdef MEMORY_GUARD
index ed6a10c67bfb080b8d8de9b1e391d18f6e1b20af..4eba5249e94b28afca5073ca548e36ee8ba16eec 100644 (file)
@@ -204,11 +204,6 @@ static inline int get_page_and_type(struct page_info *page,
     return rc;
 }
 
-static inline int page_is_removable(struct page_info *page)
-{
-    return ((page->count_info & PGC_count_mask) == 1);
-}
-
 extern void synchronise_pagetables(unsigned long cpu_mask);
 
 /* XXX don't know what this is for */
index 225605efd4fcc5ff6d0415252ad03111c23dcae4..970e95695a42449aa62bd5c73b778a6556acea41 100644 (file)
@@ -222,11 +222,6 @@ static inline int get_page_and_type(struct page_info *page,
     return rc;
 }
 
-static inline int page_is_removable(struct page_info *page)
-{
-    return ((page->count_info & PGC_count_mask) == 1);
-}
-
 #define ASSERT_PAGE_IS_TYPE(_p, _t)                            \
     ASSERT(((_p)->u.inuse.type_info & PGT_type_mask) == (_t)); \
     ASSERT(((_p)->u.inuse.type_info & PGT_count_mask) != 0)